[INFO] fetching crate palimpsest-dataflow 0.1.1...
[INFO] fixing palimpsest-dataflow-0.1.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate palimpsest-dataflow 0.1.1 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate palimpsest-dataflow 0.1.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate palimpsest-dataflow 0.1.1
[INFO] tweaked toml for crates.io crate palimpsest-dataflow 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate palimpsest-dataflow 0.1.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate palimpsest-dataflow 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad
[INFO] running `Command { std: "docker" "start" "808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking timely_container v0.25.1
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking timely_bytes v0.25.1
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking timely_logging v0.25.1
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking memmap v0.5.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking petgraph v0.7.1
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking graph_map v0.1.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.47
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking mimalloc v0.1.50
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling columnar_derive v0.11.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling sqlparser_derive v0.2.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking sqlparser v0.52.0
[INFO] [stderr]     Checking tokio v1.52.2
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking columnar v0.11.1
[INFO] [stderr]     Checking columnation v0.1.2
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking palimpsest-wal v0.1.1
[INFO] [stderr]     Checking timely_communication v0.25.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking proptest v1.11.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking timely v0.25.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking palimpsest-sql v0.1.1
[INFO] [stderr]     Checking palimpsest-dataflow v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/trace/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/lattice.rs (1 fix)
[INFO] [stderr]        Fixed src/capture.rs (3 fixes)
[INFO] [stderr]        Fixed src/dynamic/pointstamp.rs (1 fix)
[INFO] [stderr]        Fixed src/consolidation.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/algorithms/graphs/bfs.rs:46:9
[INFO] [stdout]      |
[INFO] [stdout]   43 |             let edges = edges.enter(&inner.scope());
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `edges` calls a custom destructor
[INFO] [stdout]      |                 `edges` will be dropped later as of Edition 2024
[INFO] [stdout]   44 |             let nodes = nodes.enter(&inner.scope());
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `nodes` calls a custom destructor
[INFO] [stdout]      |                 `nodes` will be dropped later as of Edition 2024
[INFO] [stdout]   45 |
[INFO] [stdout]   46 | / /         inner
[INFO] [stdout]   47 | | |             .join_core(&edges, |_k, l, d| Some((d.clone(), l + 1)))
[INFO] [stdout]      | | |                                                                   -
[INFO] [stdout]      | | |                                                                   |
[INFO] [stdout]      | | |___________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   48 | |               .concat(&nodes)
[INFO] [stdout]      | |                             ^
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   49 |                 .reduce(|_, s, t| t.push((*s[0].0, 1)))
[INFO] [stdout]   50 |         })
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/algorithms/graphs/propagate.rs:120:9
[INFO] [stdout]      |
[INFO] [stdout]  101 |         let edges = edges.enter(scope);
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `edges` calls a custom destructor
[INFO] [stdout]      |             `edges` will be dropped later as of Edition 2024
[INFO] [stdout]  102 |         let nodes = nodes.enter_at(scope, move |r| {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `nodes` calls a custom destructor
[INFO] [stdout]      |             `nodes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  108 |         let labels = proposals
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `labels` calls a custom destructor
[INFO] [stdout]      |             `labels` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  115 |         let propagate: VecCollection<_, (N, L), R> =
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `propagate` calls a custom destructor
[INFO] [stdout]      |             `propagate` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  120 |         labels.as_collection(|k, v| (k.clone(), v.clone())).leave()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  121 |     })
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `labels` invokes this custom destructor
[INFO] [stdout]     --> src/operators/arrange/agent.rs:597:1
[INFO] [stdout]      |
[INFO] [stdout]  597 | impl<Tr: TraceReader> Drop for TraceAgent<Tr> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `labels` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `labels` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `labels` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `propagate` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `propagate` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `propagate` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/graphs/scc.rs:34:9
[INFO] [stdout]     |
[INFO] [stdout]  26 |         let active = edges.map(|(_src, dst)| dst).threshold(|_, c| {
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `active` calls a custom destructor
[INFO] [stdout]     |             `active` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |         graph.enter(&edges.scope()).semijoin(&active)
[INFO] [stdout]     |         ^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |         |            |
[INFO] [stdout]     |         |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         |            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  35 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `active` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `active` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `active` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/graphs/scc.rs:52:21
[INFO] [stdout]     |
[INFO] [stdout]  50 |         let edges = graph.enter(&inner.scope());
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `edges` calls a custom destructor
[INFO] [stdout]     |             `edges` will be dropped later as of Edition 2024
[INFO] [stdout]  51 |         let trans = edges.map_in_place(|x| mem::swap(&mut x.0, &mut x.1));
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `trans` calls a custom destructor
[INFO] [stdout]     |             `trans` will be dropped later as of Edition 2024
[INFO] [stdout]  52 |         trim_edges(&trim_edges(inner, &edges), &trans)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  53 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `trans` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `trans` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `trans` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/algorithms/graphs/scc.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let nodes = edges.map_in_place(|x| x.0 = x.1.clone()).consolidate();
[INFO] [stdout]    |               -----
[INFO] [stdout]    |               |
[INFO] [stdout]    |               `nodes` calls a custom destructor
[INFO] [stdout]    |               `nodes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 71 |           let labels = propagate(cycle, &nodes);
[INFO] [stdout]    |               ------
[INFO] [stdout]    |               |
[INFO] [stdout]    |               `labels` calls a custom destructor
[INFO] [stdout]    |               `labels` will be dropped later as of Edition 2024
[INFO] [stdout] 72 |
[INFO] [stdout] 73 | / / /     edges
[INFO] [stdout] 74 | | | |         .join_map(&labels, |e1, e2, l1| (e2.clone(), (e1.clone(), l1.clone())))
[INFO] [stdout]    | | | |                                                                               -
[INFO] [stdout]    | | | |                                                                               |
[INFO] [stdout]    | | | |_______________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | | |                                                                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 75 | | |           .join_map(&labels, |e2, (e1, l1), l2| {
[INFO] [stdout] 76 | | |               ((e1.clone(), e2.clone()), (l1.clone(), l2.clone()))
[INFO] [stdout] 77 | | |           })
[INFO] [stdout]    | | |            -
[INFO] [stdout]    | | |            |
[INFO] [stdout]    | | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 78 | |             .filter(|(_, (l1, l2))| l1 == l2)
[INFO] [stdout]    | |                                             ^
[INFO] [stdout]    | |                                             |
[INFO] [stdout]    | |_____________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 79 |               .map(|((x1, x2), _)| (x2, x1))
[INFO] [stdout] 80 |       }
[INFO] [stdout]    |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `labels` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/graphs/sequential.rs:87:26
[INFO] [stdout]     |
[INFO] [stdout]  56 |               let edges = edges.enter(&new_state.scope());
[INFO] [stdout]     |                   -----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `edges` calls a custom destructor
[INFO] [stdout]     |                   `edges` will be dropped later as of Edition 2024
[INFO] [stdout]  57 |               let old_state = state.enter(&new_state.scope());
[INFO] [stdout]     |                   ---------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `old_state` calls a custom destructor
[INFO] [stdout]     |                   `old_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  61 |               let forward = edges.filter(|edge| edge.0 < edge.1);
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `forward` calls a custom destructor
[INFO] [stdout]     |                   `forward` will be dropped later as of Edition 2024
[INFO] [stdout]  62 |               let reverse = edges.filter(|edge| edge.0 > edge.1);
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `reverse` calls a custom destructor
[INFO] [stdout]     |                   `reverse` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  65 |               let new_messages = new_state.join_map(&forward, |_k, v, d| (d.clone(), v.clone()));
[INFO] [stdout]     |                   ------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `new_messages` calls a custom destructor
[INFO] [stdout]     |                   `new_messages` will be dropped later as of Edition 2024
[INFO] [stdout]  66 |
[INFO] [stdout]  67 |               let incomplete = new_messages
[INFO] [stdout]     |                   ----------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `incomplete` calls a custom destructor
[INFO] [stdout]     |                   `incomplete` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 |               let new_messages = new_messages
[INFO] [stdout]     |                   ------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  75 |               let old_messages = old_state.join_map(&reverse, |_k, v, d| (d.clone(), v.clone()));
[INFO] [stdout]     |                   ------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `old_messages` calls a custom destructor
[INFO] [stdout]     |                   `old_messages` will be dropped later as of Edition 2024
[INFO] [stdout]  76 |
[INFO] [stdout]  77 |               let messages = new_messages.concat(&old_messages).antijoin(&incomplete);
[INFO] [stdout]     |                   --------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `messages` calls a custom destructor
[INFO] [stdout]     |                   `messages` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 | /             messages
[INFO] [stdout] ...   |
[INFO] [stdout]  86 | |                 .reduce(move |k, vs, t| t.push((Some(logic(k,vs)),1)))
[INFO] [stdout]     | |                                                                      -
[INFO] [stdout]     | |                                                                      |
[INFO] [stdout]     | |______________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  87 |                   .concat(&incomplete.map(|x| (x, None)))
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  88 |           })
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `old_state` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `old_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `old_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `forward` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `forward` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `forward` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `reverse` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `reverse` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reverse` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `new_messages` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `new_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `incomplete` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `incomplete` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `incomplete` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `old_messages` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `old_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `old_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `messages` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/trace/implementations/chunker.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/algorithms/identifiers.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |               let init = self.map(|record| (0, record));
[INFO] [stdout]    |                   ----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `init` calls a custom destructor
[INFO] [stdout]    |                   `init` will be dropped later as of Edition 2024
[INFO] [stdout] 58 |               timely::dataflow::operators::generic::operator::empty(&init.scope())
[INFO] [stdout]    |               ^-------------------------------------------------------------------
[INFO] [stdout]    |               |                                                      |
[INFO] [stdout]    |               |                                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |               |                                                      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |  _____________up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |  ___________|
[INFO] [stdout]    | | |  _________|
[INFO] [stdout]    | | | |
[INFO] [stdout] 59 | | | |             .as_collection()
[INFO] [stdout]    | | | |                            -
[INFO] [stdout]    | | | |                            |
[INFO] [stdout]    | | | |____________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | | |                              up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 60 | | |               .iterate(|diff| {
[INFO] [stdout] 61 | | |                   init.enter(&diff.scope())
[INFO] [stdout] ...  | |
[INFO] [stdout] 81 | | |                       .map(|(_hash, pair)| pair)
[INFO] [stdout] 82 | | |               })
[INFO] [stdout]    | | |                -
[INFO] [stdout]    | | |                |
[INFO] [stdout]    | | |________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 83 | |                 .concat(&init)
[INFO] [stdout]    | |                              ^
[INFO] [stdout]    | |                              |
[INFO] [stdout]    | |______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 88 |           }
[INFO] [stdout]    |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `init` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/trace/implementations/spine_fueled.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/prefix_sum.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |       let requests = queries
[INFO] [stdout]     |           --------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `requests` calls a custom destructor
[INFO] [stdout]     |           `requests` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |       let full_ranges = ranges.semijoin(&requests);
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `full_ranges` calls a custom destructor
[INFO] [stdout]     |           `full_ranges` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 135 |       let zero_ranges = full_ranges
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `zero_ranges` calls a custom destructor
[INFO] [stdout]     |           `zero_ranges` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 141 |       let used_ranges = full_ranges.concat(&zero_ranges);
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `used_ranges` calls a custom destructor
[INFO] [stdout]     |           `used_ranges` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 144 |       let init_states = queries
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `init_states` calls a custom destructor
[INFO] [stdout]     |           `init_states` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 | /     init_states
[INFO] [stdout] 150 | |         .iterate(|states| {
[INFO] [stdout] 151 | |             used_ranges
[INFO] [stdout] 152 | |                 .enter(&states.scope())
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |                 .distinct()
[INFO] [stdout] 159 | |         })
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 160 |           .semijoin(&queries)
[INFO] [stdout] 161 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `requests` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `full_ranges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `zero_ranges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `used_ranges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `init_states` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:127:39
[INFO] [stdout]      |
[INFO] [stdout]  127 |               while let Some(message) = self.iterator.next() {
[INFO] [stdout]      |                              -------    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |          |
[INFO] [stdout]      |                              |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                              |          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `message` calls a custom destructor
[INFO] [stdout]      |                              `message` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  135 | /                         self.messages_frontier
[INFO] [stdout]  136 | |                             .update_iter(updates.iter().map(|(_, t, _)| (t.clone(), -1)));
[INFO] [stdout]      | |                                                                                         -
[INFO] [stdout]      | |                                                                                         |
[INFO] [stdout]      | |_________________________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  155 |                       let mut progress = self.progress_queue.remove(position);
[INFO] [stdout]      |                           ------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `progress` calls a custom destructor
[INFO] [stdout]      |                           `progress` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  161 | /                     self.messages_frontier
[INFO] [stdout]  162 | |                         .update_iter(progress.counts.drain(..).map(|(t, c)| (t, c as i64)));
[INFO] [stdout]      | |                                                                                           -
[INFO] [stdout]      | |___________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  165 | |                     for time1 in progress.upper {
[INFO] [stdout]      | |                         -----    --------------
[INFO] [stdout]      | |                         |        |
[INFO] [stdout]      | |                         |        `iter` calls a custom destructor
[INFO] [stdout]      | |                         |        `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                         |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                         |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                         `time1` calls a custom destructor
[INFO] [stdout]      | |                         `time1` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  180 | |                 let mut lower_bound = self.progress_frontier.clone();
[INFO] [stdout]      | |                     ---------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     `lower_bound` calls a custom destructor
[INFO] [stdout]      | |                     `lower_bound` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  193 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lower_bound` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:428:35
[INFO] [stdout]      |
[INFO] [stdout]  423 |                 while let Some((capability, updates)) = input.next() {
[INFO] [stdout]      |                                 ----------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 `capability` calls a custom destructor
[INFO] [stdout]      |                                 `capability` will be dropped later as of Edition 2024
[INFO] [stdout]  424 |                     let mut changes_session = changes.session(&capability);
[INFO] [stdout]      |                         -------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `changes_session` calls a custom destructor
[INFO] [stdout]      |                         `changes_session` will be dropped later as of Edition 2024
[INFO] [stdout]  425 |                     let mut counts_session = counts.session(&capability);
[INFO] [stdout]      |                         ------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `counts_session` calls a custom destructor
[INFO] [stdout]      |                         `counts_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  428 |                             match pending.insert((data.clone(), time.clone()), diff.clone())
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  429 |                             { Some(prior) => {
[INFO] [stdout]      |                                    -----
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    `prior` calls a custom destructor
[INFO] [stdout]      |                                    `prior` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  435 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `changes_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `counts_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:423:57
[INFO] [stdout]      |
[INFO] [stdout]  423 |                 while let Some((capability, updates)) = input.next() {
[INFO] [stdout]      |                                 ----------              ^^^^^^^^^^^^
[INFO] [stdout]      |                                 |                       |
[INFO] [stdout]      |                                 |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                 `capability` calls a custom destructor
[INFO] [stdout]      |                                 `capability` will be dropped later as of Edition 2024
[INFO] [stdout]  424 |                     let mut changes_session = changes.session(&capability);
[INFO] [stdout]      |                         -------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `changes_session` calls a custom destructor
[INFO] [stdout]      |                         `changes_session` will be dropped later as of Edition 2024
[INFO] [stdout]  425 |                     let mut counts_session = counts.session(&capability);
[INFO] [stdout]      |                         ------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `counts_session` calls a custom destructor
[INFO] [stdout]      |                         `counts_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  429 |                             { Some(prior) => {
[INFO] [stdout]      |                                    -----
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    `prior` calls a custom destructor
[INFO] [stdout]      |                                    `prior` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  440 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `changes_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `counts_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:473:49
[INFO] [stdout]      |
[INFO] [stdout]  470 |                 let mut capability: Option<Capability<T>> = None;
[INFO] [stdout]      |                     --------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `capability` calls a custom destructor
[INFO] [stdout]      |                     `capability` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  473 |                 while let Some((cap, counts)) = counts.next() {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  474 |                     updates_frontier.update_iter(counts.iter().cloned());
[INFO] [stdout]      |                     ----------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  475 |                     capability = Some(cap.retain());
[INFO] [stdout]  476 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/capability.rs:167:1
[INFO] [stdout]      |
[INFO] [stdout]  167 | impl<T: Timestamp> Drop for Capability<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:478:51
[INFO] [stdout]      |
[INFO] [stdout]  470 |                 let mut capability: Option<Capability<T>> = None;
[INFO] [stdout]      |                     --------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `capability` calls a custom destructor
[INFO] [stdout]      |                     `capability` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  478 |                 while let Some((cap, progress)) = input.next() {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  481 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/capability.rs:167:1
[INFO] [stdout]      |
[INFO] [stdout]  167 | impl<T: Timestamp> Drop for Capability<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:539:60
[INFO] [stdout]      |
[INFO] [stdout]  539 |                     while let Some((_cap, frontier_changes)) = input.next() {
[INFO] [stdout]      |                                     ----                       ^^^^^^^^^^^^
[INFO] [stdout]      |                                     |                          |
[INFO] [stdout]      |                                     |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                     |                          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                     `_cap` calls a custom destructor
[INFO] [stdout]      |                                     `_cap` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  542 |                             if antichain
[INFO] [stdout]      |    ____________________________-
[INFO] [stdout]      |  _|____________________________|
[INFO] [stdout]  543 | | |                             .update_iter(input_changes.unstable_internal_updates().iter().cloned())
[INFO] [stdout]      | | |                                                                                                   -
[INFO] [stdout]      | | |                                                                                                   |
[INFO] [stdout]      | | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                                                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  544 | |                               .next()
[INFO] [stdout]      | |                                     -
[INFO] [stdout]      | |                                     |
[INFO] [stdout]      | |_____________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  550 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cap` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cap` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cap` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/capture.rs:633:23
[INFO] [stdout]     |
[INFO] [stdout] 613 |                 let mut output = updates_out.activate();
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `output` calls a custom destructor
[INFO] [stdout]     |                     `output` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 633 |                 match updates_sink.upgrade() { Some(sink) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 652 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pushers/progress.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl<'a, T: Timestamp, C, P: Push<Message<T, C>>> Drop for ProgressSession<'a, T, C, P> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/consolidation.rs:292:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut permutation = Vec::with_capacity(self.len());
[INFO] [stdout]     |             ---------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `permutation` calls a custom destructor
[INFO] [stdout]     |             `permutation` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 291 |         let mut iter = permutation.drain(..);
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `iter` calls a custom destructor
[INFO] [stdout]     |             `iter` will be dropped later as of Edition 2024
[INFO] [stdout] 292 |         if let Some(item) = iter.next() {
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 314 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 272 |     tuple_implementation!((A1), (A2));
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 273 |     tuple_implementation!((A1 B1), (A2 B2));
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 274 |     tuple_implementation!((A1 B1 C1), (A2 B2 C2));
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 275 |     tuple_implementation!((A1 B1 C1 D1), (A2 B2 C2 D2));
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/input.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (handle, stream) = self.new_input();
[INFO] [stdout]     |                      ------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `stream` calls a custom destructor
[INFO] [stdout]     |                      `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 175 |         let source = data.to_stream(self).as_collection();
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `source` calls a custom destructor
[INFO] [stdout]     |             `source` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |             stream.as_collection().concat(&source),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 180 |         )
[INFO] [stdout] 181 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `source` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/operators/arrange/writer.rs:71:33
[INFO] [stdout]      |
[INFO] [stdout]   71 |               if let Some(pair) = queue.upgrade() {
[INFO] [stdout]      |                           ----    ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |       |
[INFO] [stdout]      |                           |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           `pair` calls a custom destructor
[INFO] [stdout]      |                           `pair` will be dropped later as of Edition 2024
[INFO] [stdout]   72 | /                 pair.1
[INFO] [stdout]   73 | |                     .borrow_mut()
[INFO] [stdout]      | |                                 -
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |_________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]   74 |                       .push_back(TraceReplayInstruction::Batch(batch.clone(), hint.clone()));
[INFO] [stdout]   75 | /                 pair.1
[INFO] [stdout]   76 | |                     .borrow_mut()
[INFO] [stdout]      | |                                 -
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   80 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `pair` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pair` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `pair` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/operators/arrange/writer.rs:84:30
[INFO] [stdout]      |
[INFO] [stdout]   69 |         let mut borrow = self.queues.borrow_mut();
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `borrow` calls a custom destructor
[INFO] [stdout]      |             `borrow` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   84 |         if let Some(trace) = self.trace.upgrade() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   87 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `borrow` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/operators/reduce.rs:899:41
[INFO] [stdout]      |
[INFO] [stdout]  834 |               let mut meet = None;
[INFO] [stdout]      |                   --------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `meet` calls a custom destructor
[INFO] [stdout]      |                   `meet` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  899 |               while let Some(next_time) = [
[INFO] [stdout]      |  ____________________________---------____^
[INFO] [stdout]      | |                            |
[INFO] [stdout]      | |                            `next_time` calls a custom destructor
[INFO] [stdout]      | |                            `next_time` will be dropped later as of Edition 2024
[INFO] [stdout]  900 | |                 batch_replay.time(),
[INFO] [stdout]  901 | |                 times_slice.first(),
[INFO] [stdout]  902 | |                 input_replay.time(),
[INFO] [stdout] ...    |
[INFO] [stdout]  909 | |             .min()
[INFO] [stdout]  910 | |             .cloned()
[INFO] [stdout]      | |                     ^
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |_____________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1062 |                               for (val, diff) in self.update_buffer.drain(..) {
[INFO] [stdout]      |                                                  ----------------------------
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  `iter` calls a custom destructor
[INFO] [stdout]      |                                                  `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1106 |                       for time in self.temporary.drain(..) {
[INFO] [stdout]      |                                   ------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1152 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/palimpsest/dataflow_host.rs:206:25
[INFO] [stdout]      |
[INFO] [stdout]  206 |     while let Ok(cmd) = cmd_rx.recv() {
[INFO] [stdout]      |                  ---    ^^^^^^^^^^^^^
[INFO] [stdout]      |                  |      |
[INFO] [stdout]      |                  |      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                  |      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  `cmd` calls a custom destructor
[INFO] [stdout]      |                  `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                 reply,
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `reply` calls a custom destructor
[INFO] [stdout]      |                 `reply` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                 for (table, rows) in seed_rows {
[INFO] [stdout]      |                             ----     ---------
[INFO] [stdout]      |                             |        |
[INFO] [stdout]      |                             |        `iter` calls a custom destructor
[INFO] [stdout]      |                             |        `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             `rows` calls a custom destructor
[INFO] [stdout]      |                             `rows` will be dropped later as of Edition 2024
[INFO] [stdout]  217 |                     if let Some(session) = inputs.get_mut(&table) {
[INFO] [stdout]  218 |                         for row in rows {
[INFO] [stdout]      |                                    ----
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  230 |                 let _ = reply.send(initial);
[INFO] [stdout]      |                         -------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  231 |             }
[INFO] [stdout]  232 |             DataflowCommand::Apply { diffs, lsn, reply } => {
[INFO] [stdout]      |                                                  -----
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                                  `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  233 |                 for (table, row, diff) in diffs {
[INFO] [stdout]      |                             ---           -----
[INFO] [stdout]      |                             |             |
[INFO] [stdout]      |                             |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                             |             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             |             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                             |             `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             `row` calls a custom destructor
[INFO] [stdout]      |                             `row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  245 |                 let _ = reply.send(deltas);
[INFO] [stdout]      |                         ------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  249 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reply` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rows` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/palimpsest/materialization.rs:203:19
[INFO] [stdout]     |
[INFO] [stdout] 202 |         for key in keys {
[INFO] [stdout]     |                    ----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 203 |             match self.lookup(key) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/trace/implementations/spine_fueled.rs:718:27
[INFO] [stdout]     |
[INFO] [stdout] 718 |                     match self.merging[length - 2].take() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 721 |                             self.merging.remove(length - 2);
[INFO] [stdout]     |                             -------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 745 |                                 self.merging.remove(length - 2);
[INFO] [stdout]     |                                 -------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 758 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/reduce.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/algorithms/graphs/bfs.rs:46:9
[INFO] [stdout]      |
[INFO] [stdout]   43 |             let edges = edges.enter(&inner.scope());
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `edges` calls a custom destructor
[INFO] [stdout]      |                 `edges` will be dropped later as of Edition 2024
[INFO] [stdout]   44 |             let nodes = nodes.enter(&inner.scope());
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `nodes` calls a custom destructor
[INFO] [stdout]      |                 `nodes` will be dropped later as of Edition 2024
[INFO] [stdout]   45 |
[INFO] [stdout]   46 | / /         inner
[INFO] [stdout]   47 | | |             .join_core(&edges, |_k, l, d| Some((d.clone(), l + 1)))
[INFO] [stdout]      | | |                                                                   -
[INFO] [stdout]      | | |                                                                   |
[INFO] [stdout]      | | |___________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   48 | |               .concat(&nodes)
[INFO] [stdout]      | |                             ^
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   49 |                 .reduce(|_, s, t| t.push((*s[0].0, 1)))
[INFO] [stdout]   50 |         })
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/algorithms/graphs/propagate.rs:120:9
[INFO] [stdout]      |
[INFO] [stdout]  101 |         let edges = edges.enter(scope);
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `edges` calls a custom destructor
[INFO] [stdout]      |             `edges` will be dropped later as of Edition 2024
[INFO] [stdout]  102 |         let nodes = nodes.enter_at(scope, move |r| {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `nodes` calls a custom destructor
[INFO] [stdout]      |             `nodes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  108 |         let labels = proposals
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `labels` calls a custom destructor
[INFO] [stdout]      |             `labels` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  115 |         let propagate: VecCollection<_, (N, L), R> =
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `propagate` calls a custom destructor
[INFO] [stdout]      |             `propagate` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  120 |         labels.as_collection(|k, v| (k.clone(), v.clone())).leave()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  121 |     })
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `labels` invokes this custom destructor
[INFO] [stdout]     --> src/operators/arrange/agent.rs:597:1
[INFO] [stdout]      |
[INFO] [stdout]  597 | impl<Tr: TraceReader> Drop for TraceAgent<Tr> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `labels` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `labels` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `labels` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `propagate` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `propagate` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `propagate` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]      |
[INFO] [stdout]  275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/graphs/scc.rs:34:9
[INFO] [stdout]     |
[INFO] [stdout]  26 |         let active = edges.map(|(_src, dst)| dst).threshold(|_, c| {
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `active` calls a custom destructor
[INFO] [stdout]     |             `active` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |         graph.enter(&edges.scope()).semijoin(&active)
[INFO] [stdout]     |         ^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |         |            |
[INFO] [stdout]     |         |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         |            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  35 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `active` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `active` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `active` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/graphs/scc.rs:52:21
[INFO] [stdout]     |
[INFO] [stdout]  50 |         let edges = graph.enter(&inner.scope());
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `edges` calls a custom destructor
[INFO] [stdout]     |             `edges` will be dropped later as of Edition 2024
[INFO] [stdout]  51 |         let trans = edges.map_in_place(|x| mem::swap(&mut x.0, &mut x.1));
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `trans` calls a custom destructor
[INFO] [stdout]     |             `trans` will be dropped later as of Edition 2024
[INFO] [stdout]  52 |         trim_edges(&trim_edges(inner, &edges), &trans)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  53 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `trans` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `trans` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `trans` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/algorithms/graphs/scc.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let nodes = edges.map_in_place(|x| x.0 = x.1.clone()).consolidate();
[INFO] [stdout]    |               -----
[INFO] [stdout]    |               |
[INFO] [stdout]    |               `nodes` calls a custom destructor
[INFO] [stdout]    |               `nodes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 71 |           let labels = propagate(cycle, &nodes);
[INFO] [stdout]    |               ------
[INFO] [stdout]    |               |
[INFO] [stdout]    |               `labels` calls a custom destructor
[INFO] [stdout]    |               `labels` will be dropped later as of Edition 2024
[INFO] [stdout] 72 |
[INFO] [stdout] 73 | / / /     edges
[INFO] [stdout] 74 | | | |         .join_map(&labels, |e1, e2, l1| (e2.clone(), (e1.clone(), l1.clone())))
[INFO] [stdout]    | | | |                                                                               -
[INFO] [stdout]    | | | |                                                                               |
[INFO] [stdout]    | | | |_______________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | | |                                                                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 75 | | |           .join_map(&labels, |e2, (e1, l1), l2| {
[INFO] [stdout] 76 | | |               ((e1.clone(), e2.clone()), (l1.clone(), l2.clone()))
[INFO] [stdout] 77 | | |           })
[INFO] [stdout]    | | |            -
[INFO] [stdout]    | | |            |
[INFO] [stdout]    | | |____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 78 | |             .filter(|(_, (l1, l2))| l1 == l2)
[INFO] [stdout]    | |                                             ^
[INFO] [stdout]    | |                                             |
[INFO] [stdout]    | |_____________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 79 |               .map(|((x1, x2), _)| (x2, x1))
[INFO] [stdout] 80 |       }
[INFO] [stdout]    |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `labels` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/graphs/sequential.rs:87:26
[INFO] [stdout]     |
[INFO] [stdout]  56 |               let edges = edges.enter(&new_state.scope());
[INFO] [stdout]     |                   -----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `edges` calls a custom destructor
[INFO] [stdout]     |                   `edges` will be dropped later as of Edition 2024
[INFO] [stdout]  57 |               let old_state = state.enter(&new_state.scope());
[INFO] [stdout]     |                   ---------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `old_state` calls a custom destructor
[INFO] [stdout]     |                   `old_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  61 |               let forward = edges.filter(|edge| edge.0 < edge.1);
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `forward` calls a custom destructor
[INFO] [stdout]     |                   `forward` will be dropped later as of Edition 2024
[INFO] [stdout]  62 |               let reverse = edges.filter(|edge| edge.0 > edge.1);
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `reverse` calls a custom destructor
[INFO] [stdout]     |                   `reverse` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  65 |               let new_messages = new_state.join_map(&forward, |_k, v, d| (d.clone(), v.clone()));
[INFO] [stdout]     |                   ------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `new_messages` calls a custom destructor
[INFO] [stdout]     |                   `new_messages` will be dropped later as of Edition 2024
[INFO] [stdout]  66 |
[INFO] [stdout]  67 |               let incomplete = new_messages
[INFO] [stdout]     |                   ----------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `incomplete` calls a custom destructor
[INFO] [stdout]     |                   `incomplete` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 |               let new_messages = new_messages
[INFO] [stdout]     |                   ------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  75 |               let old_messages = old_state.join_map(&reverse, |_k, v, d| (d.clone(), v.clone()));
[INFO] [stdout]     |                   ------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `old_messages` calls a custom destructor
[INFO] [stdout]     |                   `old_messages` will be dropped later as of Edition 2024
[INFO] [stdout]  76 |
[INFO] [stdout]  77 |               let messages = new_messages.concat(&old_messages).antijoin(&incomplete);
[INFO] [stdout]     |                   --------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `messages` calls a custom destructor
[INFO] [stdout]     |                   `messages` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 | /             messages
[INFO] [stdout] ...   |
[INFO] [stdout]  86 | |                 .reduce(move |k, vs, t| t.push((Some(logic(k,vs)),1)))
[INFO] [stdout]     | |                                                                      -
[INFO] [stdout]     | |                                                                      |
[INFO] [stdout]     | |______________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  87 |                   .concat(&incomplete.map(|x| (x, None)))
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  88 |           })
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `old_state` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `old_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `old_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `forward` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `forward` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `forward` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `reverse` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `reverse` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reverse` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `new_messages` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `new_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `incomplete` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `incomplete` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `incomplete` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `old_messages` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `old_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `old_messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `messages` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `messages` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/algorithms/identifiers.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |               let init = self.map(|record| (0, record));
[INFO] [stdout]    |                   ----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `init` calls a custom destructor
[INFO] [stdout]    |                   `init` will be dropped later as of Edition 2024
[INFO] [stdout] 58 |               timely::dataflow::operators::generic::operator::empty(&init.scope())
[INFO] [stdout]    |               ^-------------------------------------------------------------------
[INFO] [stdout]    |               |                                                      |
[INFO] [stdout]    |               |                                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |               |                                                      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |  _____________up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |  ___________|
[INFO] [stdout]    | | |  _________|
[INFO] [stdout]    | | | |
[INFO] [stdout] 59 | | | |             .as_collection()
[INFO] [stdout]    | | | |                            -
[INFO] [stdout]    | | | |                            |
[INFO] [stdout]    | | | |____________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | | |                              up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 60 | | |               .iterate(|diff| {
[INFO] [stdout] 61 | | |                   init.enter(&diff.scope())
[INFO] [stdout] ...  | |
[INFO] [stdout] 81 | | |                       .map(|(_hash, pair)| pair)
[INFO] [stdout] 82 | | |               })
[INFO] [stdout]    | | |                -
[INFO] [stdout]    | | |                |
[INFO] [stdout]    | | |________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 83 | |                 .concat(&init)
[INFO] [stdout]    | |                              ^
[INFO] [stdout]    | |                              |
[INFO] [stdout]    | |______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 88 |           }
[INFO] [stdout]    |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `init` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/algorithms/prefix_sum.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |       let requests = queries
[INFO] [stdout]     |           --------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `requests` calls a custom destructor
[INFO] [stdout]     |           `requests` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |       let full_ranges = ranges.semijoin(&requests);
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `full_ranges` calls a custom destructor
[INFO] [stdout]     |           `full_ranges` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 135 |       let zero_ranges = full_ranges
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `zero_ranges` calls a custom destructor
[INFO] [stdout]     |           `zero_ranges` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 141 |       let used_ranges = full_ranges.concat(&zero_ranges);
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `used_ranges` calls a custom destructor
[INFO] [stdout]     |           `used_ranges` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 144 |       let init_states = queries
[INFO] [stdout]     |           -----------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `init_states` calls a custom destructor
[INFO] [stdout]     |           `init_states` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 | /     init_states
[INFO] [stdout] 150 | |         .iterate(|states| {
[INFO] [stdout] 151 | |             used_ranges
[INFO] [stdout] 152 | |                 .enter(&states.scope())
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |                 .distinct()
[INFO] [stdout] 159 | |         })
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 160 |           .semijoin(&queries)
[INFO] [stdout] 161 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `requests` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `full_ranges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `zero_ranges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `used_ranges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `init_states` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:127:39
[INFO] [stdout]      |
[INFO] [stdout]  127 |               while let Some(message) = self.iterator.next() {
[INFO] [stdout]      |                              -------    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |          |
[INFO] [stdout]      |                              |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                              |          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `message` calls a custom destructor
[INFO] [stdout]      |                              `message` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  135 | /                         self.messages_frontier
[INFO] [stdout]  136 | |                             .update_iter(updates.iter().map(|(_, t, _)| (t.clone(), -1)));
[INFO] [stdout]      | |                                                                                         -
[INFO] [stdout]      | |                                                                                         |
[INFO] [stdout]      | |_________________________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  155 |                       let mut progress = self.progress_queue.remove(position);
[INFO] [stdout]      |                           ------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `progress` calls a custom destructor
[INFO] [stdout]      |                           `progress` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  161 | /                     self.messages_frontier
[INFO] [stdout]  162 | |                         .update_iter(progress.counts.drain(..).map(|(t, c)| (t, c as i64)));
[INFO] [stdout]      | |                                                                                           -
[INFO] [stdout]      | |___________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  165 | |                     for time1 in progress.upper {
[INFO] [stdout]      | |                         -----    --------------
[INFO] [stdout]      | |                         |        |
[INFO] [stdout]      | |                         |        `iter` calls a custom destructor
[INFO] [stdout]      | |                         |        `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                         |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                         |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                         `time1` calls a custom destructor
[INFO] [stdout]      | |                         `time1` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  180 | |                 let mut lower_bound = self.progress_frontier.clone();
[INFO] [stdout]      | |                     ---------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     `lower_bound` calls a custom destructor
[INFO] [stdout]      | |                     `lower_bound` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  193 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lower_bound` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:428:35
[INFO] [stdout]      |
[INFO] [stdout]  423 |                 while let Some((capability, updates)) = input.next() {
[INFO] [stdout]      |                                 ----------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 `capability` calls a custom destructor
[INFO] [stdout]      |                                 `capability` will be dropped later as of Edition 2024
[INFO] [stdout]  424 |                     let mut changes_session = changes.session(&capability);
[INFO] [stdout]      |                         -------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `changes_session` calls a custom destructor
[INFO] [stdout]      |                         `changes_session` will be dropped later as of Edition 2024
[INFO] [stdout]  425 |                     let mut counts_session = counts.session(&capability);
[INFO] [stdout]      |                         ------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `counts_session` calls a custom destructor
[INFO] [stdout]      |                         `counts_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  428 |                             match pending.insert((data.clone(), time.clone()), diff.clone())
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  429 |                             { Some(prior) => {
[INFO] [stdout]      |                                    -----
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    `prior` calls a custom destructor
[INFO] [stdout]      |                                    `prior` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  435 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `changes_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `counts_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:423:57
[INFO] [stdout]      |
[INFO] [stdout]  423 |                 while let Some((capability, updates)) = input.next() {
[INFO] [stdout]      |                                 ----------              ^^^^^^^^^^^^
[INFO] [stdout]      |                                 |                       |
[INFO] [stdout]      |                                 |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                 `capability` calls a custom destructor
[INFO] [stdout]      |                                 `capability` will be dropped later as of Edition 2024
[INFO] [stdout]  424 |                     let mut changes_session = changes.session(&capability);
[INFO] [stdout]      |                         -------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `changes_session` calls a custom destructor
[INFO] [stdout]      |                         `changes_session` will be dropped later as of Edition 2024
[INFO] [stdout]  425 |                     let mut counts_session = counts.session(&capability);
[INFO] [stdout]      |                         ------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `counts_session` calls a custom destructor
[INFO] [stdout]      |                         `counts_session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  429 |                             { Some(prior) => {
[INFO] [stdout]      |                                    -----
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    `prior` calls a custom destructor
[INFO] [stdout]      |                                    `prior` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  440 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `changes_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `counts_session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/generic/handles.rs:215:1
[INFO] [stdout]      |
[INFO] [stdout]  215 | impl<'a: 'b, 'b, T: Timestamp, CB: ContainerBuilder, CT: CapabilityTrait<T>> Drop for Session<'a, 'b, T, CB, CT> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:473:49
[INFO] [stdout]      |
[INFO] [stdout]  470 |                 let mut capability: Option<Capability<T>> = None;
[INFO] [stdout]      |                     --------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `capability` calls a custom destructor
[INFO] [stdout]      |                     `capability` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  473 |                 while let Some((cap, counts)) = counts.next() {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  474 |                     updates_frontier.update_iter(counts.iter().cloned());
[INFO] [stdout]      |                     ----------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  475 |                     capability = Some(cap.retain());
[INFO] [stdout]  476 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/capability.rs:167:1
[INFO] [stdout]      |
[INFO] [stdout]  167 | impl<T: Timestamp> Drop for Capability<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:478:51
[INFO] [stdout]      |
[INFO] [stdout]  470 |                 let mut capability: Option<Capability<T>> = None;
[INFO] [stdout]      |                     --------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `capability` calls a custom destructor
[INFO] [stdout]      |                     `capability` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  478 |                 while let Some((cap, progress)) = input.next() {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  481 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `capability` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/operators/capability.rs:167:1
[INFO] [stdout]      |
[INFO] [stdout]  167 | impl<T: Timestamp> Drop for Capability<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/capture.rs:539:60
[INFO] [stdout]      |
[INFO] [stdout]  539 |                     while let Some((_cap, frontier_changes)) = input.next() {
[INFO] [stdout]      |                                     ----                       ^^^^^^^^^^^^
[INFO] [stdout]      |                                     |                          |
[INFO] [stdout]      |                                     |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                     |                          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                     `_cap` calls a custom destructor
[INFO] [stdout]      |                                     `_cap` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  542 |                             if antichain
[INFO] [stdout]      |    ____________________________-
[INFO] [stdout]      |  _|____________________________|
[INFO] [stdout]  543 | | |                             .update_iter(input_changes.unstable_internal_updates().iter().cloned())
[INFO] [stdout]      | | |                                                                                                   -
[INFO] [stdout]      | | |                                                                                                   |
[INFO] [stdout]      | | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                                                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  544 | |                               .next()
[INFO] [stdout]      | |                                     -
[INFO] [stdout]      | |                                     |
[INFO] [stdout]      | |_____________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  550 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cap` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pullers/counter.rs:31:1
[INFO] [stdout]      |
[INFO] [stdout]   31 | impl<T:Ord+Clone+'static> Drop for ConsumedGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cap` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cap` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:404:1
[INFO] [stdout]      |
[INFO] [stdout]  404 | impl<'a, T: 'a + Array> Drop for Drain<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/capture.rs:633:23
[INFO] [stdout]     |
[INFO] [stdout] 613 |                 let mut output = updates_out.activate();
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `output` calls a custom destructor
[INFO] [stdout]     |                     `output` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 633 |                 match updates_sink.upgrade() { Some(sink) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 652 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/dataflow/channels/pushers/progress.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl<'a, T: Timestamp, C, P: Push<Message<T, C>>> Drop for ProgressSession<'a, T, C, P> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/consolidation.rs:292:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut permutation = Vec::with_capacity(self.len());
[INFO] [stdout]     |             ---------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `permutation` calls a custom destructor
[INFO] [stdout]     |             `permutation` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 291 |         let mut iter = permutation.drain(..);
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `iter` calls a custom destructor
[INFO] [stdout]     |             `iter` will be dropped later as of Edition 2024
[INFO] [stdout] 292 |         if let Some(item) = iter.next() {
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 314 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 272 |     tuple_implementation!((A1), (A2));
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 273 |     tuple_implementation!((A1 B1), (A2 B2));
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 274 |     tuple_implementation!((A1 B1 C1), (A2 B2 C2));
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 275 |     tuple_implementation!((A1 B1 C1 D1), (A2 B2 C2 D2));
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/input.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (handle, stream) = self.new_input();
[INFO] [stdout]     |                      ------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `stream` calls a custom destructor
[INFO] [stdout]     |                      `stream` will be dropped later as of Edition 2024
[INFO] [stdout] 175 |         let source = data.to_stream(self).as_collection();
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `source` calls a custom destructor
[INFO] [stdout]     |             `source` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |             stream.as_collection().concat(&source),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 180 |         )
[INFO] [stdout] 181 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `source` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/operators/arrange/writer.rs:71:33
[INFO] [stdout]      |
[INFO] [stdout]   71 |               if let Some(pair) = queue.upgrade() {
[INFO] [stdout]      |                           ----    ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |       |
[INFO] [stdout]      |                           |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                           |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           `pair` calls a custom destructor
[INFO] [stdout]      |                           `pair` will be dropped later as of Edition 2024
[INFO] [stdout]   72 | /                 pair.1
[INFO] [stdout]   73 | |                     .borrow_mut()
[INFO] [stdout]      | |                                 -
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |_________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]   74 |                       .push_back(TraceReplayInstruction::Batch(batch.clone(), hint.clone()));
[INFO] [stdout]   75 | /                 pair.1
[INFO] [stdout]   76 | |                     .borrow_mut()
[INFO] [stdout]      | |                                 -
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   80 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `pair` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pair` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `pair` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/operators/arrange/writer.rs:84:30
[INFO] [stdout]      |
[INFO] [stdout]   69 |         let mut borrow = self.queues.borrow_mut();
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `borrow` calls a custom destructor
[INFO] [stdout]      |             `borrow` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   84 |         if let Some(trace) = self.trace.upgrade() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   87 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `borrow` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/operators/reduce.rs:899:41
[INFO] [stdout]      |
[INFO] [stdout]  834 |               let mut meet = None;
[INFO] [stdout]      |                   --------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `meet` calls a custom destructor
[INFO] [stdout]      |                   `meet` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  899 |               while let Some(next_time) = [
[INFO] [stdout]      |  ____________________________---------____^
[INFO] [stdout]      | |                            |
[INFO] [stdout]      | |                            `next_time` calls a custom destructor
[INFO] [stdout]      | |                            `next_time` will be dropped later as of Edition 2024
[INFO] [stdout]  900 | |                 batch_replay.time(),
[INFO] [stdout]  901 | |                 times_slice.first(),
[INFO] [stdout]  902 | |                 input_replay.time(),
[INFO] [stdout] ...    |
[INFO] [stdout]  909 | |             .min()
[INFO] [stdout]  910 | |             .cloned()
[INFO] [stdout]      | |                     ^
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |_____________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1062 |                               for (val, diff) in self.update_buffer.drain(..) {
[INFO] [stdout]      |                                                  ----------------------------
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  `iter` calls a custom destructor
[INFO] [stdout]      |                                                  `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1106 |                       for time in self.temporary.drain(..) {
[INFO] [stdout]      |                                   ------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1152 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/palimpsest/dataflow_host.rs:206:25
[INFO] [stdout]      |
[INFO] [stdout]  206 |     while let Ok(cmd) = cmd_rx.recv() {
[INFO] [stdout]      |                  ---    ^^^^^^^^^^^^^
[INFO] [stdout]      |                  |      |
[INFO] [stdout]      |                  |      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                  |      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  `cmd` calls a custom destructor
[INFO] [stdout]      |                  `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                 reply,
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `reply` calls a custom destructor
[INFO] [stdout]      |                 `reply` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                 for (table, rows) in seed_rows {
[INFO] [stdout]      |                             ----     ---------
[INFO] [stdout]      |                             |        |
[INFO] [stdout]      |                             |        `iter` calls a custom destructor
[INFO] [stdout]      |                             |        `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             `rows` calls a custom destructor
[INFO] [stdout]      |                             `rows` will be dropped later as of Edition 2024
[INFO] [stdout]  217 |                     if let Some(session) = inputs.get_mut(&table) {
[INFO] [stdout]  218 |                         for row in rows {
[INFO] [stdout]      |                                    ----
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  230 |                 let _ = reply.send(initial);
[INFO] [stdout]      |                         -------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  231 |             }
[INFO] [stdout]  232 |             DataflowCommand::Apply { diffs, lsn, reply } => {
[INFO] [stdout]      |                                                  -----
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                                  `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  233 |                 for (table, row, diff) in diffs {
[INFO] [stdout]      |                             ---           -----
[INFO] [stdout]      |                             |             |
[INFO] [stdout]      |                             |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                             |             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             |             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                             |             `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             `row` calls a custom destructor
[INFO] [stdout]      |                             `row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  245 |                 let _ = reply.send(deltas);
[INFO] [stdout]      |                         ------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  249 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reply` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rows` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/palimpsest/materialization.rs:203:19
[INFO] [stdout]     |
[INFO] [stdout] 202 |         for key in keys {
[INFO] [stdout]     |                    ----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 203 |             match self.lookup(key) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/trace/implementations/spine_fueled.rs:718:27
[INFO] [stdout]     |
[INFO] [stdout] 718 |                     match self.merging[length - 2].take() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 721 |                             self.merging.remove(length - 2);
[INFO] [stdout]     |                             -------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 745 |                                 self.merging.remove(length - 2);
[INFO] [stdout]     |                                 -------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 758 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/trace.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/reduce.rs:20:9
[INFO] [stdout]     |
[INFO] [stdout]  11 |         let col1 = vec![
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col1` calls a custom destructor
[INFO] [stdout]     |             `col1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |         col1.reduce(|_, s, t| t.push((*s[0].0, s.len() as isize)))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |     });
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/import.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/operator_throughput.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/operator_oracle.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/operator_criterion.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/bench_host.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/join.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/scc.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/join.rs:28:9
[INFO] [stdout]     |
[INFO] [stdout]  11 |         let col1 = vec![
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col1` calls a custom destructor
[INFO] [stdout]     |             `col1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  19 |         let col2 = vec![
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col2` calls a custom destructor
[INFO] [stdout]     |             `col2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  28 |         col1.join(&col2).inner.capture()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  29 |     });
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/join.rs:61:9
[INFO] [stdout]     |
[INFO] [stdout]  45 |         let col1 = vec![
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col1` calls a custom destructor
[INFO] [stdout]     |             `col1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  52 |         let col2 = vec![
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col2` calls a custom destructor
[INFO] [stdout]     |             `col2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  61 |         col1.join_map(&col2, |k, v1, v2| (*k + *v1, *v2))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  64 |     });
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/join.rs:93:9
[INFO] [stdout]     |
[INFO] [stdout]  80 |         let col1 = vec![
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col1` calls a custom destructor
[INFO] [stdout]     |             `col1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |         let col2 = vec![(0, Default::default(), 1)]
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col2` calls a custom destructor
[INFO] [stdout]     |             `col2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |         col1.semijoin(&col2).inner.capture()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  94 |     });
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/join.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let col1 = vec![
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col1` calls a custom destructor
[INFO] [stdout]     |             `col1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 |         let col2 = vec![(0, Default::default(), 1)]
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `col2` calls a custom destructor
[INFO] [stdout]     |             `col2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |         col1.antijoin(&col2).consolidate().inner.capture()
[INFO] [stdout]     |         --------------------^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 118 |     });
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `col2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `col2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/join.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let counts = (0..1)
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `counts` calls a custom destructor
[INFO] [stdout]     |             `counts` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 161 |         let odds = counts.filter(|x| x.1 % 2 == 1);
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `odds` calls a custom destructor
[INFO] [stdout]     |             `odds` will be dropped later as of Edition 2024
[INFO] [stdout] 162 |         let evens = counts.filter(|x| x.1 % 2 == 0);
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `evens` calls a custom destructor
[INFO] [stdout]     |             `evens` will be dropped later as of Edition 2024
[INFO] [stdout] 163 |
[INFO] [stdout] 164 |         odds.join(&evens).inner.capture()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 165 |     });
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `counts` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `counts` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `counts` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `counts` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `counts` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `counts` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `odds` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `odds` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `odds` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `odds` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `odds` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `odds` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `evens` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `evens` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `evens` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `evens` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `evens` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `evens` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely-0.25.1/src/worker.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | impl Drop for Wrapper {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/bfs.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/scc.rs:250:22
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let edges = graph.enter(&inner.scope());
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `edges` calls a custom destructor
[INFO] [stdout]     |             `edges` will be dropped later as of Edition 2024
[INFO] [stdout] 249 |         let trans = edges.map_in_place(|x| mem::swap(&mut x.0, &mut x.1));
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `trans` calls a custom destructor
[INFO] [stdout]     |             `trans` will be dropped later as of Edition 2024
[INFO] [stdout] 250 |         _trim_edges(&_trim_edges(inner, &edges), &trans)
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 251 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `trans` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `trans` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `trans` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/scc.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |           let nodes = edges.map_in_place(|x| x.0 = x.1).consolidate();
[INFO] [stdout]     |               -----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `nodes` calls a custom destructor
[INFO] [stdout]     |               `nodes` will be dropped later as of Edition 2024
[INFO] [stdout] 262 |
[INFO] [stdout] 263 |           let labels = _reachability(&cycle, &nodes);
[INFO] [stdout]     |               ------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `labels` calls a custom destructor
[INFO] [stdout]     |               `labels` will be dropped later as of Edition 2024
[INFO] [stdout] 264 |
[INFO] [stdout] 265 |           edges.consolidate()
[INFO] [stdout]     |           ^------------------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |  _________up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |  _______|
[INFO] [stdout]     | | |  _____|
[INFO] [stdout]     | | | |
[INFO] [stdout] 266 | | | |          // .inspect(|x| println!("pre-join: {:?}", x))
[INFO] [stdout] 267 | | | |          .join_map(&labels, |&e1,&e2,&l1| (e2,(e1,l1)))
[INFO] [stdout]     | | | |                                                       -
[INFO] [stdout]     | | | |                                                       |
[INFO] [stdout]     | | | |_______________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | | |                                                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 268 | | |            .join_map(&labels, |&e2,&(e1,l1),&l2| ((e1,e2),(l1,l2)))
[INFO] [stdout]     | | |                                                                   -
[INFO] [stdout]     | | |                                                                   |
[INFO] [stdout]     | | |___________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 269 | |              .filter(|&(_,(l1,l2))| l1 == l2)
[INFO] [stdout]     | |                                             ^
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |_____________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 270 |                .map(|((x1,x2),_)| (x2,x1))
[INFO] [stdout] 271 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `labels` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/scc.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |             let edges = edges.enter(&inner.scope());
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `edges` calls a custom destructor
[INFO] [stdout]     |                 `edges` will be dropped later as of Edition 2024
[INFO] [stdout] 282 |             let nodes = nodes.enter_at(&inner.scope(), |r| {
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `nodes` calls a custom destructor
[INFO] [stdout]     |                 `nodes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 286 | / /         inner
[INFO] [stdout] 287 | | |             .join_map(&edges, |_k, l, d| (*d, *l))
[INFO] [stdout]     | | |                                                  -
[INFO] [stdout]     | | |                                                  |
[INFO] [stdout]     | | |__________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 288 | |               .concat(&nodes)
[INFO] [stdout]     | |                             ^
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 289 |                 .reduce(|_, s, t| t.push((*s[0].0, 1)))
[INFO] [stdout] 290 |         })
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/bfs.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let edges = edges.enter(&inner.scope());
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `edges` calls a custom destructor
[INFO] [stdout]     |                 `edges` will be dropped later as of Edition 2024
[INFO] [stdout] 249 |             let nodes = nodes.enter(&inner.scope());
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `nodes` calls a custom destructor
[INFO] [stdout]     |                 `nodes` will be dropped later as of Edition 2024
[INFO] [stdout] 250 |
[INFO] [stdout] 251 | / /         inner
[INFO] [stdout] 252 | | |             .join_map(&edges, |_k, l, d| (*d, l + 1))
[INFO] [stdout]     | | |                                                     -
[INFO] [stdout]     | | |                                                     |
[INFO] [stdout]     | | |_____________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 253 | |               .concat(&nodes)
[INFO] [stdout]     | |                             ^
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 254 |                 .reduce(|_, s, t| t.push((*s[0].0, 1)))
[INFO] [stdout] 255 |         })
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `edges` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `edges` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `nodes` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nodes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timely_logging-0.25.1/src/lib.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl<CB: ContainerBuilder<Container: Default>, A: ?Sized + FnMut(&Duration, &mut Option<CB::Container>)> Drop for LoggerInner<CB, A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.67s
[INFO] [stderr] crater-edition-check: palimpsest-dataflow v0.1.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking palimpsest-dataflow v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 272 |     tuple_implementation!((A1), (A2));
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 273 |     tuple_implementation!((A1 B1), (A2 B2));
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 274 |     tuple_implementation!((A1 B1 C1), (A2 B2 C2));
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 275 |     tuple_implementation!((A1 B1 C1 D1), (A2 B2 C2 D2));
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 272 |     tuple_implementation!((A1), (A2));
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 273 |     tuple_implementation!((A1 B1), (A2 B2));
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 274 |     tuple_implementation!((A1 B1 C1), (A2 B2 C2));
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/difference.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout]     |                            occurs within macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 275 |     tuple_implementation!((A1 B1 C1 D1), (A2 B2 C2 D2));
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `tuple_implementation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let &mut ($(ref mut $name,)*) = self;
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `palimpsest-dataflow` (lib) due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `palimpsest-dataflow` (lib test) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad", kill_on_drop: false }`
[INFO] [stdout] 808c439ba91f016f43006f633a3766ffbc5c3ff0897f92177c9bdc892d8cbfad
